package com.ruoyi.system.domain.project.patent;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 专利授权对象 patent_authorization
 * 
 * @author ruoyi
 * @date 2025-08-12
 */
public class PatentAuthorization extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 授权表自增ID */
    private Long id;

    /** 关联专利主表ID，对应主表id字段 */
    @Excel(name = "关联专利主表ID，对应主表id字段")
    private Long patentMainId;
    /** 专利主表ID名称 */
    private String patentName;
    /** 授权号 */
    @Excel(name = "授权号")
    private String authorizationNo;

    /** 获批时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "获批时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date approvalTime;

    /** 是否转化，1是，0否 */
    @Excel(name = "是否转化，1是，0否")
    private Integer isTransformed;

    /** 转化时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "转化时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date transformationTime;

    /** 转化金额（万元） */
    @Excel(name = "转化金额", readConverterExp = "万=元")
    private BigDecimal transformationAmount;

    /** 是否行业联合专利(著作权)，1是，0否 */
    @Excel(name = "是否行业联合专利(著作权)，1是，0否")
    private Integer isIndustryJointPatent;

    /** 附件，存储文件路径等 */
    @Excel(name = "附件，存储文件路径等")
    private String attachment;
    /** 当前用户角色 */
    private String currentRole;
    /** 部门ID */
    private Long deptId;
    /** 部门ID */
    private Long teacherId;


    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setPatentMainId(Long patentMainId) 
    {
        this.patentMainId = patentMainId;
    }

    public Long getPatentMainId() 
    {
        return patentMainId;
    }

    public void setAuthorizationNo(String authorizationNo) 
    {
        this.authorizationNo = authorizationNo;
    }

    public String getAuthorizationNo() 
    {
        return authorizationNo;
    }

    public void setApprovalTime(Date approvalTime) 
    {
        this.approvalTime = approvalTime;
    }

    public Date getApprovalTime() 
    {
        return approvalTime;
    }

    public void setIsTransformed(Integer isTransformed) 
    {
        this.isTransformed = isTransformed;
    }

    public Integer getIsTransformed() 
    {
        return isTransformed;
    }

    public void setTransformationTime(Date transformationTime) 
    {
        this.transformationTime = transformationTime;
    }

    public Date getTransformationTime() 
    {
        return transformationTime;
    }

    public void setTransformationAmount(BigDecimal transformationAmount) 
    {
        this.transformationAmount = transformationAmount;
    }

    public BigDecimal getTransformationAmount() 
    {
        return transformationAmount;
    }

    public void setIsIndustryJointPatent(Integer isIndustryJointPatent) 
    {
        this.isIndustryJointPatent = isIndustryJointPatent;
    }

    public Integer getIsIndustryJointPatent() 
    {
        return isIndustryJointPatent;
    }

    public void setAttachment(String attachment) 
    {
        this.attachment = attachment;
    }

    public String getAttachment() 
    {
        return attachment;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("patentMainId", getPatentMainId())
            .append("authorizationNo", getAuthorizationNo())
            .append("approvalTime", getApprovalTime())
            .append("isTransformed", getIsTransformed())
            .append("transformationTime", getTransformationTime())
            .append("transformationAmount", getTransformationAmount())
            .append("isIndustryJointPatent", getIsIndustryJointPatent())
            .append("attachment", getAttachment())
            .toString();
    }


    public String getPatentName() {
        return patentName;
    }

    public void setPatentName(String patentName) {
        this.patentName = patentName;
    }

    public String getCurrentRole() {
        return currentRole;
    }

    public void setCurrentRole(String currentRole) {
        this.currentRole = currentRole;
    }

    public Long getDeptId() {
        return deptId;
    }

    public void setDeptId(Long deptId) {
        this.deptId = deptId;
    }

    public Long getTeacherId() {
        return teacherId;
    }

    public void setTeacherId(Long teacherId) {
        this.teacherId = teacherId;
    }
}
